package error_example

// 方式1 原生异常处理
//if err != nil{
//	return nil
//}

// 方式2 自定义error
//var ErrInvalidParam = errors.New("invalid param")
//var ErrNullPointer = errors.New("null pointer")
//
//func GetErrorInfo(err error) string {
//	switch err {
//	case ErrInvalidParam:
//		return err.Error()
//	case ErrNullPointer:
//		return err.Error()
//	}
//	return ""
//}

// 方式3 自定义Error类型
//type BusinessError struct{}
//type JsonError struct{}
//
//func (e *BusinessError) Error() string {
//	return "business error"
//}
//func (e *JsonError) Error() string {
//	return "json error"
//}
//
//func GetErrorInfoV2(err error) string {
//	switch err.(type) {
//	case *JsonError:
//		return err.Error()
//	case *BusinessError:
//		return err.Error()
//	}
//	return ""
//}